package com.lbd.system.bean;

import com.lbd.base.bean.AbstractEntity;
import lombok.*;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * Created by WangYajie on 2016/9/12.
 */
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@DynamicUpdate
@Entity
public class User extends AbstractEntity {

    public static final int SATE_ENABLE = 1;
    public static final int SATE_DISABLE = 2;

    public static final int TYPE_INVESTOR = 1;//投资人
    public static final int TYPE_BORROWER = 2;//借款人
    public static final int TYPE_BOTHTYPE = 3;//混合人
    // 用户名
    private String name;
    private String password;
    @NotNull(message = "手机号不能为空")
    //@Column(unique = true)
    //手机号
    private String telephone;
    //交易密码
    private String tradingPassword;
    //邮箱地址
    private String email;
    //省份证
    private String idCard;
    // 注册来源
    private String plantFrom;
    //类型 1-投资人 2-借款人 3-混合人
    private Integer type;
    // 状态 1,启用2,禁用
    private Integer state;
    // 邀请码 在注册的生成
    private String inviteCode;
    // 受邀码 在注册的时候填上去的
    private String invitedCode;

    //第三方账号id
    private String umpayId;
    //所在城市
    private String currentCity;
    // 家庭住址
    private String familyAddress;
    // 认证时间
    private Date authenticationDate;
    // 紧急联系人
    private String emergencyContact;
    // 上次登录时间
    private Date lastLoginDate;
    // 最近禁用日期
    private Date lastDisableDate;
    // 用户头像
    private String headPortrait;

    // 0 未充值,1 已经充值
    private Integer rechargeState;
    //0 未投资,1已投资
    private Integer investState;

    //用户资金统计查询统计页面时封装字段用
    @Transient
    Object amountStatistics;

    @Transient
    private BindCard bindCard;

    //是否开通快捷
    @Transient
    private String ifOpenFast;

}
